1. Field of the Invention
The present invention relates to a method and apparatus for managing variability points that represent variability of components of software.
2. Description of the Related Art
As software technology has developed, demand for a method of efficiently managing resources of software, which are getting larger and more complicated, has increased. In particular, research has predominantly been conducted on component-based software development (CBSD) focusing on reuse of the resources of software.
In development processes based on CBSD, when software products are developed, components may be newly generated, old components may be reused, or updated old components may be used. The purpose of CBSD is to reduce a development period and/or to reduce manufacturing costs by combining components in accordance with necessities.
Also, a software platform that includes all the various components of software has to support a new software product that is to be manufactured by combining certain software resources in accordance with necessities. The combining of the software resources basically starts by learning about elements for satisfying functions that follow requirements of a corresponding software product.
The requirements may be managed by using feature-oriented domain analysis (FODA) or a feature-oriented reuse method (FORM), which are currently being researched. In view of software product lines (SPLs) which are systems for managing and composing software elements for developing a variety of products in the software platform, the requirements are approached in consideration of variability of software products.
Meanwhile, when software for consumer electronics (CE) devices is developed, in order to appropriately reuse software resources divided into common units and variable units, components and variability points have to be managed in view of the SPLs.
Generally, in software development processes, a unified modeling language (UML) is used to represent the architecture of software or to describe logic operations. By using the UML, a designer may represent elements required to implement software in a form for easier recognition.
Currently, a UML protocol may not sufficiently represent variability points and component-based processing is not considered while only classed-based or module-based processing is allowed. Although a feature description language (FDL) is being researched as a language for composing feature-based software, when an embodiment element that is to correspond to a feature is represented, the FDL does not consider the connection with a component model in detail.
As described above, conventionally when software is developed, a method of efficiently and easily managing components and variability points does not exist.